#pragma once

template <typename T>
class ISingleton {
public:
	static T& Instance() {
		static T instance;
		return instance;
	}

protected:
	ISingleton() {}
	virtual ~ISingleton() {}
};
